home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / u_man / cat1 / bufview.z / bufview
Encoding:
Text File  |  2002-10-03  |  18.2 KB  |  397 lines

  1.  
  2.  
  3.  
  4. bbbbuuuuffffvvvviiiieeeewwww((((1111))))                                                          bbbbuuuuffffvvvviiiieeeewwww((((1111))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      bufview - file system buffer cache activity monitor
  10.  
  11. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.      _b_u_f_v_i_e_w [ -_o_p_t_i_o_n_s ]
  13.  
  14. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  15.      _b_u_f_v_i_e_w displays periodic information about the file system buffer cache.
  16.      It is modeled after the program _t_o_p(1) which displays information about
  17.      running processes.
  18.  
  19. OOOOPPPPTTTTIIIIOOOONNNNSSSS
  20.      ----bbbb   Use batch (or non-interactive mode).
  21.  
  22.      ----ssss ddddeeeellllaaaayyyy
  23.           Wait _d_e_l_a_y seconds between updates.  The default is 3 seconds.
  24.  
  25.      ----dddd ccccoooouuuunnnntttt
  26.           Update the display _c_o_u_n_t times and then exit.  The default is to
  27.           continually update.
  28.  
  29.      ----nnnn lllliiiinnnneeeessss
  30.           Display only _l_i_n_e_s number of buffers.  The default is to display as
  31.           many buffers as will fit the screen when in interactive mode, or all
  32.           buffers when in batch mode.
  33.  
  34.      ----ffff ffffllllaaaaggggssss
  35.           Only display buffers which have the specified _f_l_a_g_s bits set.
  36.  
  37.      ----oooo oooorrrrddddeeeerrrr
  38.           display buffers using the specified sort order.
  39.  
  40.      ----SSSS   Do not display system buffers.
  41.  
  42.      ----DDDD   Do not display data buffers.
  43.  
  44. IIIINNNNTTTTEEEERRRRAAAACCCCTTTTIIIIVVVVEEEE MMMMOOOODDDDEEEE
  45.      _b_u_f_v_i_e_w accepts display commands interactively.  These commands are
  46.      currently recognized:
  47.  
  48.      ^^^^LLLL   Redraw the screen.
  49.  
  50.      hhhh or ????
  51.           Display a summary of the commands (help screen).
  52.  
  53.      qqqq    Quit.
  54.  
  55.      ssss    Change number of seconds to delay between updates.
  56.  
  57.      SSSS    Toggle display of system buffers on or off.
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. bbbbuuuuffffvvvviiiieeeewwww((((1111))))                                                          bbbbuuuuffffvvvviiiieeeewwww((((1111))))
  71.  
  72.  
  73.  
  74.      DDDD    Toggle display of file data buffers on or off.
  75.  
  76.      oooo    Specify buffer display order (see details below).
  77.  
  78.      ffff    Display only buffers with specific state flags set (see details
  79.           below).
  80.  
  81.      FFFF    Ignore buffer state flags when determining which buffers to display.
  82.  
  83.      mmmm    Display only buffers from the specified device (mounted file
  84.           system).
  85.  
  86.      MMMM    Display buffers from all mounted file systems.  This is the default
  87.           behaviour.
  88.  
  89. FFFFIIIILLLLEEEE SSSSYYYYSSSSTTTTEEEEMMMM BBBBUUUUFFFFFFFFEEEERRRRSSSS
  90.      There are a set number of buffer headers allocated by the system when it
  91.      starts up, but the memory attached to each buffer changes over time.
  92.  
  93.      In the Irix operating system, a distinction is made between data buffers,
  94.      which hold the data from regular files, and system or meta-data buffers,
  95.      which hold the file system control data, such as directories, inodes and
  96.      file system mapping information.
  97.  
  98.      The file system buffer cache is integrated with the memory page
  99.      allocator.  Any pages which contain file system data are remembered; if
  100.      the pages are released from a buffer header because the buffer is asked
  101.      to represent different data, the pages can be reclaimed by another buffer
  102.      later if the pages haven't been reused in the meantime.  Thus pages of
  103.      memory which hold file data can be: attached to buffers; or attached to
  104.      one or more user processes (see mmmmmmmmaaaapppp((((2222))))), separately or at the same time;
  105.      or on the free page list.
  106.  
  107. GGGGLLLLOOOOBBBBAAAALLLL IIIINNNNFFFFOOOORRRRMMMMAAAATTTTIIIIOOOONNNN
  108.      The first few lines of the display monitor system-wide statistics.  These
  109.      include buffer counts, memory values, events and time values.
  110.  
  111.      The total number of buffers is displayed as _B_u_f_s; at any moment, each of
  112.      these buffers is accounted for as either _S_y_s, _D_a_t_a, _E_m_p_t_y or _I_n_a_c_t.  Sys
  113.      means that the buffer contains file system meta-data; a Data buffer hold
  114.      regular file data.  Empty implies that the buffer does not have any data
  115.      stored at the moment; Inact means that the buffer is empty and has been
  116.      removed from use temporarily to avoid having the buffer cache use too
  117.      much memory.
  118.  
  119.      The total amount of system memory is displayed as _M_e_m.  The amount of
  120.      memory associated with Sys and Data buffers is displayed as _S_M_e_m and
  121.      _D_M_e_m.  The current amount of free memory is displayed as _M_F_r_e_e; the
  122.      portion of that memory that holds (reclaimable) file system data is shown
  123.      as _M_F_r_e_D.
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. bbbbuuuuffffvvvviiiieeeewwww((((1111))))                                                          bbbbuuuuffffvvvviiiieeeewwww((((1111))))
  137.  
  138.  
  139.  
  140.      Various system memory limiters are also shown.  The operating system
  141.      avoids having the amount of memory in Data buffers grow too large.  To
  142.      such end, the system tuneable parameter, mmmmiiiinnnn____ffffrrrreeeeeeee____ppppaaaaggggeeeessss, specifies how
  143.      many pages should be on the free list.  If there are fewer, the Data
  144.      buffers will be trimmed, but only as low as mmmmiiiinnnn____ffffiiiilllleeee____ppppaaaaggggeeeessss (see
  145.      ssssyyyyssssttttuuuunnnneeee((((1111))))).  mmmmiiiinnnn____ffffiiiilllleeee____ppppaaaaggggeeeessss and mmmmiiiinnnn____ffffrrrreeeeeeee____ppppaaaaggggeeeessss are shown, as memory
  146.      amounts, in _D_M_i_n and _F_r_M_i_n.
  147.  
  148.      There are two other limits to the amount of memory the buffer Data cache
  149.      can use.  There are two system counters known as aaaavvvvaaaaiiiillllrrrrmmmmeeeemmmm and aaaavvvvaaaaiiiillllssssmmmmeeeemmmm,
  150.      which indicate, respectively, how many physical pages would be available
  151.      if push came to shove (that is, if the system paging daemon were to push
  152.      every possible user page out of memory and in to backing store); and how
  153.      many pages of memory and backing store (swap) have not been reserved by
  154.      programs and the kernel.  These two counters are expressed as memory
  155.      amounts by _M_a_x_R and _M_a_x_S.  In the 6.5 operating system release, Data
  156.      buffer pages are not accounted for in either aaaavvvvaaaaiiiillllrrrrmmmmeeeemmmm or aaaavvvvaaaaiiiillllssssmmmmeeeemmmm, but
  157.      since the Data cache can never be forced to drop below mmmmiiiinnnn____ffffiiiilllleeee____ppppaaaaggggeeeessss,
  158.      the system must ensure that: first, neither aaaavvvvaaaaiiiillllrrrrmmmmeeeemmmm nor aaaavvvvaaaaiiiillllssssmmmmeeeemmmm drop
  159.      below mmmmiiiinnnn____ffffiiiilllleeee____ppppaaaaggggeeeessss; and second, that if the Data cache grows beyond
  160.      mmmmiiiinnnn____ffffiiiilllleeee____ppppaaaaggggeeeessss, it does not grow beyond the avail counters.  These values
  161.      are displayed as a diagnostic tool to help understand whether there are
  162.      enough buffers allocated for the system, whether the cache is responding
  163.      well enough to various memory pressures, and whether the tuneable
  164.      parameters are configured sanely.
  165.  
  166.      If the buffer cache memory must be trimmed, individual buffer headers are
  167.      inactivated.  Inactivated buffers, displayed as _I_n_a_c_t are those which are
  168.      both trimmed of their memory and also removed from the buffer free lists
  169.      so that won't be immediately refilled to represent other file system
  170.      data.  When the system decides that the amount of memory allocated to
  171.      buffers can grow, and there are no empty buffers available, inactive
  172.      buffers are activated (put back on a free list).
  173.  
  174.      Some event counters are also shown.  The number of times a buffer is
  175.      inactivated is shown as _d_e_a_c_t; conversly, reactivations are shown as
  176.      _r_e_a_c_t.
  177.  
  178.      The number of times a particular buffer is sought is given as _g_t_b_l_k; the
  179.      times a sought buffer is found in the cache is _f_o_u_n_d.  If a particular
  180.      buffer isn't found in the buffer cache, a buffer free list is searched
  181.      for the first available buffer that can be reclaimed.  Buffers that have
  182.      delayed write data or that have special release functions associated with
  183.      them are not directly acquired in the search for available buffers;
  184.      instead they are written (_w_r_i_t_e) or the release function is called
  185.      (_r_e_l_s_e), and skipped.  Buffers have a counter which, when set, allows the
  186.      buffer to pass through the free list search unscathed (the counter is
  187.      decremented each time it is examined).  The counter _s_t_k_y indicated these
  188.      events.  Note that all event counters are given as events per second
  189.      since the display was last updated.
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. bbbbuuuuffffvvvviiiieeeewwww((((1111))))                                                          bbbbuuuuffffvvvviiiieeeewwww((((1111))))
  203.  
  204.  
  205.  
  206.      The current time is also shown, as well as the current system clock tick
  207.      value.
  208.  
  209.      Note that all event counters are labeled with names that contain no
  210.      upper-case letters, and that all memory values are labeled with names
  211.      that contain an upper-case 'M'.  With memory values, a 'K' represents
  212.      1024 bytes, an 'M' is 1024 K and so on.  Buffer counters are given as
  213.      decimal values, and their labels all start with upper-case characters.
  214.  
  215. DDDDIIIISSSSPPPPLLLLAAAAYYYY OOOORRRRDDDDEEEERRRR
  216.      The display sort order and any pruning flags are also displayed.  The
  217.      sort order determines in what order buffers are to be displayed; and
  218.      pruning flags, if specified, indicated that _b_u_f_v_i_e_w should only display
  219.      buffers with the indicated flags set.  The following sort keys can be
  220.      specified:
  221.  
  222.           mmmm    display the files with the most buffers attached
  223.           llll    display the files with the least buffers attached
  224.           bbbb    display the biggest buffers first
  225.           ssss    display the smallest buffers first
  226.           nnnn    display the newest buffers first
  227.           oooo    display the oldest buffers first
  228.  
  229.      Note that _b_u_f_v_i_e_w can be in either aggregate mode or itemized mode.  When
  230.      in aggregate mode, all files (for regular file data) or devices (for
  231.      system data) that are currently using buffers are represented as a single
  232.      buffer; in itemized mode, individual buffers are presented.  By default,
  233.      _b_u_f_v_i_e_w runs in aggregate mode and sorts using _m and _b as the sort keys.
  234.      The display order can be changed, either interactively or as a
  235.      command-line option.  Either way, the last order specifier given becomes
  236.      the first sort key.
  237.  
  238.      If any pruning flags are requested, only those buffers which have the
  239.      corresponding flags set will be displayed.  The following pruning flags
  240.      can be specified:
  241.  
  242.           ddddwwww   display delayed write buffers
  243.           bbbbssssyyyy  display in-use (busy) buffers
  244.           aaaassss   display buffers being used for asynchronous reads/writes
  245.           nnnnaaaa   display NFS buffers being used for async reads/writes
  246.           ddddaaaa   display buffers without allocated backing-store
  247.           nnnncccc   display NFS3 buffers without committed backing-store
  248.           sssswwwwpppp       display buffers being used to swap user pages
  249.           iiiinnnnaaaacccctttt     display inactive buffers
  250.           iiiinnnnoooo       display inode buffers
  251.           iiiinnnnoooommmmaaaapppp    display inode map buffers
  252.           ddddiiiirrrr____bbbbtttt    display buffers containing directory btrees
  253.           mmmmaaaapppp       display buffers containing maps
  254.           aaaattttttttrrrr____bbbbtttt   display attribute btree buffers
  255.           aaaaggggiiii       display buffers containing AG header (inode allocation)
  256.           aaaaggggffff       display allocation group header buffers
  257.           aaaaggggffffllll      display allocation group free block array buffers
  258.  
  259.  
  260.  
  261.                                                                         PPPPaaaaggggeeee 4444
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268. bbbbuuuuffffvvvviiiieeeewwww((((1111))))                                                          bbbbuuuuffffvvvviiiieeeewwww((((1111))))
  269.  
  270.  
  271.  
  272.          ddddqqqquuuuooootttt      display quota buffers containing dquot structures
  273.  
  274.      These, too, can be specified as command-line options or demanded
  275.      interactively.  Further, pruning flags can be removed (wholesale) with
  276.      the FFFF interactive command.
  277.  
  278.      If a display order or flag specifier is given that is incompatible with
  279.      the current mode, the mode changes and any incompatible sort or display
  280.      directives are removed.  For example, the _n display order and all pruning
  281.      flags are incompatible with aggregate mode; if any of these are
  282.      specified, _m or _l will be removed as a sort key.  Similarly, if either _m
  283.      and _l are demanded, _b_u_f_v_i_e_w will convert to aggregate mode, and any
  284.      pruning flags or itemized sort keys will be deleted.
  285.  
  286. TTTTHHHHEEEE DDDDIIIISSSSPPPPLLLLAAAAYYYY
  287.      The information displayed about buffers changes depending whether _b_u_f_v_i_e_w
  288.      is in aggregate mode or itemized mode.  In either mode, the internal node
  289.      number of the file is displayed under the column _V_N_U_M_B_E_R for data
  290.      buffers, or listed simply as a 'system' file if the buffer represents a
  291.      meta-data buffer.
  292.  
  293.      In aggregate mode, the next column is _N_A_M_E.  Only data file names are
  294.      given, and only those whose names are brief enough to be included in the
  295.      system's internal directory name cache (currently 31 bytes).  The names
  296.      displayed by _b_u_f_v_i_e_w are truncated.  A file whose name is too large to
  297.      fit in the name cache is displayed as '?'; if the system cannot determine
  298.      the name of the file because it would have had to sleep waiting for an
  299.      internal lock, the file names is displayed as '??'.  In itemized mode the
  300.      column _N_A_M_E/_R_E_F shows either the (possibly truncated) file name or, for
  301.      meta-data buffers, a pseudo-reference counter which, if non-zero, allows
  302.      a buffer a free trip though the buffer free list.
  303.  
  304.      The column _D_E_V_I_C_E gives the last component(s) of the file system path
  305.      name of the device from which the file system for the given buffer's file
  306.      is mounted.
  307.  
  308.      The column _F_S_T_Y_P gives an indication of the type of file system that is
  309.      being managed by the buffer.
  310.  
  311.      In aggregate mode, the next column is _N_B_U_F, which is the number of
  312.      buffers currently holding data or meta-data for the particular file or
  313.      file system, respectively.  The aggregate buffer size and the amount of
  314.      buffer memory which is delayed-write is shown as _S_I_Z_E and _D_E_L_W_R_I.
  315.      (Delayed write means that the buffer has been altered but the new
  316.      contents have not yet been written to backing store.)
  317.  
  318.      The final two columns in aggregate mode, _L_O_W and _H_I_G_H, represent the
  319.      lowest and highest bytes represented by the buffers mapping the object.
  320.      For data buffers, they refer to logical offsets within the file; for
  321.      meta-data buffers, offsets within the file system.
  322.  
  323.  
  324.  
  325.  
  326.  
  327.                                                                         PPPPaaaaggggeeee 5555
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334. bbbbuuuuffffvvvviiiieeeewwww((((1111))))                                                          bbbbuuuuffffvvvviiiieeeewwww((((1111))))
  335.  
  336.  
  337.  
  338.      In itemized mode, the index of the particular buffer in the system's
  339.      buffer array is given as _B_U_F.  Its size is given next as _S_I_Z_E, and _O_F_F_S_E_T
  340.      the offset within the file or file system of the first byte mapped by the
  341.      buffer.
  342.  
  343.      The column _A_G_E shows the clock tick stored in the buffer.  This value is
  344.      set when the buffer is first created and reset whenever the buffer is
  345.      accessed or modified.
  346.  
  347.      Lastly, interesting buffer flags are shown under _F_L_A_G_S.  The list of
  348.      flags which might be displayed are exactly those which can be specified
  349.      as display pruning flags.
  350.  
  351. FFFFIIIILLLLEEEESSSS
  352.      /etc/mtab      list of mounted file systems
  353.  
  354. BBBBUUUUGGGGSSSS
  355.      The buffer cache notion of a device number does not match that of the
  356.      mounted file system for NFS file systems, so the device number, not its
  357.      name, is displayed.
  358.  
  359. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  360.      _t_o_p(1), _o_s_v_i_e_w(1)
  361.  
  362.  
  363.  
  364.  
  365.  
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.                                                                         PPPPaaaaggggeeee 6666
  394.  
  395.  
  396.  
  397.